﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Direct.Security
{
    public interface IAuthorizationService
    {
        bool IsUserAuthorized(String username, String authorizationKey);
        IAuthorizationKey CreateKey(String keyPath, String caption, int order = 0);
        IAuthorizationKey CreateKey(String parentKey, String key, String caption, int order = 0);
        IAuthorizationKey GetKey(String basePath = "");
        void SetObjectStatus(String objId, String authKey, AuthorizationStatus status);
        AuthorizationStatus GetObjectStatus(String objId, String authKey);
        IAuthorizationEffectiveRule GetEffectiveObjectStatus(String objId, String authKey);
    }
}
